'''
Created on 5 dec. 2014

@author: Damien Torond et Geoffrey Sentost
Module Abonnement
'''
from modele import Contrat

class Abonnement:
    '''
    On va montrer ici la classe Abonnement qui permet de creer des contrats d'abonnements pour les clients.
    '''

    def __init__(self, id, libelle, prix):
        '''
            Constructeur de la classe Abonnement.
            Attributs :
                - id de type int.
                - libelle de type string,correspond au libelle du contrat.
                - prix de type int, correspond au prix du contrat.
        '''
        self.id = id
        self.libelle = libelle
        self.prix = prix
        self.listeContrats = []
        
    
    def ajouterContrat(self):
        '''
        Methode : permet d'ajouter un contrat de la classe Contrat a la liste.
        '''
        self.listeContrats.append(Contrat.Contrat(self))
    
        
    def getId(self):
        '''
        Methode : accesseur de l'attribut id qui retourne celui-ci.
        '''
        return self.id
        
    
    def getLibelle(self):
        '''
        Methode : accesseur de l'attribut libelle qui retourne celui-ci.
        '''
        return self.libelle
    
    
    def getPrix(self):
        '''
        Methode : accesseur de l'attribut prix qui retourne celui-ci.
        '''
        return str(self.prix)
        
    
    def getEstSuperAbonne(self):
        '''
        Methode : permet de savoir si le client est superAbonne et retourne un booleen.
        Si l'id est de 2, on retourne True(superAbonnes) sinon False(non superAbonne).
        '''
        if self.id == 2 :
            return True
        else :
            return False
        
    
    def getListeContrats(self):
        '''
        Methode : accesseur de la liste listeContrats qui retourne celui-ci.
        '''
        return self.listeContrats
        
        
    
        